export type CreateExternalSite = {
  name: string;
  description: string;
  url: string;
  tag: string;
};

export type ExternalSite = CreateExternalSite & {
  created_at: string;
  created_by: string;
  id: string;
  image_url: string;
  sort_order: number;
  updated_at: string;
};

export type ExternalSiteGroup = {
  has_more: boolean;
  offset: number;
  page_size: number;
  total: number;
  tag: string;
  tag_sort_order: number;
  sites: ExternalSite[];
};

export type ExternalSitesTag = {
  id: string;
  name: string;
  created_at: string;
  updated_at: string;
  sort_order: number;
};

export type GetExternalSitesTagListResponse = {
  tags: ExternalSitesTag[];
};

export type ImportExternalSitesResponse = {
  task_id: string;
  filename: string;
  message: string;
};

export type GetExternalSitesImportProgressResponse = {
  task_id: string;
  is_running: number;
  progress: number;
  total: number;
  success: number;
  message: string;
};
